package com.example.pineapple.config.http;

import android.os.Bundle;
import android.view.View;

import androidx.appcompat.app.AppCompatActivity;

import com.example.pineapple.R;
import com.example.pineapple.entity.ResponseEntity;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

/**
 * @ClassName GetRequest
 * @Description TODO
 * @Author Hermit
 * @Date 2021/7/2 13:10
 */
public class GetRequest extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_request);

        findViewById(R.id.buttonSql).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 使用Retrofit封装的方法
                request();
            }
        });
    }

    /**
     * 测试网络框架
     */
    public void request() {
        // 步骤4: 创建Retrofit对象
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://192.168.31.7:8082/") // 设置网络请求URL
                .addConverterFactory(GsonConverterFactory.create()) // 设置使用Gson解析
                .build();

        // 步骤5: 创建 网络请求的接口 的实例
        GetRequestIntetface request = retrofit.create(GetRequestIntetface.class);

        // 对发送请求进行封装
        Call<ResponseEntity> call = request.getCall();

        // 步骤6: 发送网络请求(异步)
        call.enqueue(new Callback<ResponseEntity>() {
            // 请求成功时回调
            @Override
            public void onResponse(Call<ResponseEntity> call, Response<ResponseEntity> response) {
                // 步骤7: 处理返回结果
                System.out.println("连接成功");
            }
            // 请求失败时回调
            @Override
            public void onFailure(Call<ResponseEntity> call, Throwable t) {
                t.printStackTrace();
                System.out.println("连接失败");
            }
        });
    }






}
